#
# Serial device configuration
#

menu "Serial drivers"
	depends on HAS_IOMEM

source "drivers/tty/serial/8250/Kconfig"

comment "Non-8250 serial port support"

config SERIAL_AMBA_PL010
	tristate "ARM AMBA PL010 serial port support"
	depends on ARM_AMBA && (BROKEN || !ARCH_VERSATILE)
	select SERIAL_CORE
	help
	  This selects the ARM(R) AMBA(R) PrimeCell PL010 UART.  If you have
	  an Integrator/AP or Integrator/PP2 platform, or if you have a
	  Cirrus Logic EP93xx CPU, say Y or M here.

	  If unsure, say N.

config SERIAL_AMBA_PL010_CONSOLE
	bool "Support for console on AMBA serial port"
	depends on SERIAL_AMBA_PL010=y
	select SERIAL_CORE_CONSOLE
	---help---
	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

	  Even if you say Y here, the currently visible framebuffer console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyAM0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_AMBA_PL011
	tristate "ARM AMBA PL011 serial port support"
	depends on ARM_AMBA
	select SERIAL_CORE
	help
	  This selects the ARM(R) AMBA(R) PrimeCell PL011 UART.  If you have
	  an Integrator/PP2, Integrator/CP or Versatile platform, say Y or M
	  here.

	  If unsure, say N.

config SERIAL_AMBA_PL011_CONSOLE
	bool "Support for console on AMBA serial port"
	depends on SERIAL_AMBA_PL011=y
	select SERIAL_CORE_CONSOLE
	---help---
	  Say Y here if you wish to use an AMBA PrimeCell UART as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

	  Even if you say Y here, the currently visible framebuffer console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyAMA0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_SB1250_DUART
	tristate "BCM1xxx on-chip DUART serial support"
	depends on SIBYTE_SB1xxx_SOC=y
	select SERIAL_CORE
	default y
	---help---
	  Support for the asynchronous serial interface (DUART) included in
	  the BCM1250 and derived System-On-a-Chip (SOC) devices.  Note that
	  the letter D in DUART stands for "dual", which is how the device
	  is implemented.  Depending on the SOC configuration there may be
	  one or more DUARTs available of which all are handled.

	  If unsure, say Y.  To compile this driver as a module, choose M here:
	  the module will be called sb1250-duart.

config SERIAL_SB1250_DUART_CONSOLE
	bool "Support for console on a BCM1xxx DUART serial port"
	depends on SERIAL_SB1250_DUART=y
	select SERIAL_CORE_CONSOLE
	default y
	---help---
	  If you say Y here, it will be possible to use a serial port as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
	  mode).

	  If unsure, say Y.

config SERIAL_ATMEL
	bool "AT91 / AT32 on-chip serial port support"
	depends on (ARM && ARCH_AT91) || AVR32
	select SERIAL_CORE
	help
	  This enables the driver for the on-chip UARTs of the Atmel
	  AT91 and AT32 processors.

config SERIAL_ATMEL_CONSOLE
	bool "Support for console on AT91 / AT32 serial port"
	depends on SERIAL_ATMEL=y
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you wish to use an on-chip UART on a Atmel
	  AT91 or AT32 processor as the system console (the system
	  console is the device which receives all kernel messages and
	  warnings and which allows logins in single user mode).

config SERIAL_ATMEL_PDC
	bool "Support DMA transfers on AT91 / AT32 serial port"
	depends on SERIAL_ATMEL
	default y
	help
	  Say Y here if you wish to use the PDC to do DMA transfers to
	  and from the Atmel AT91 / AT32 serial port. In order to
	  actually use DMA transfers, make sure that the use_dma_tx
	  and use_dma_rx members in the atmel_uart_data struct is set
	  appropriately for each port.

	  Note that break and error handling currently doesn't work
	  properly when DMA is enabled. Make sure that ports where
	  this matters don't use DMA.

config SERIAL_ATMEL_TTYAT
	bool "Install as device ttyATn instead of ttySn"
	depends on SERIAL_ATMEL=y
	help
	  Say Y here if you wish to have the internal AT91 / AT32 UARTs
	  appear as /dev/ttyATn (major 204, minor starting at 154)
	  instead of the normal /dev/ttySn (major 4, minor starting at
	  64). This is necessary if you also want other UARTs, such as
	  external 8250/16C550 compatible UARTs.
	  The ttySn nodes are legally reserved for the 8250 serial driver
	  but are often misused by other serial drivers.

	  To use this, you should create suitable ttyATn device nodes in
	  /dev/, and pass "console=ttyATn" to the kernel.

	  Say Y if you have an external 8250/16C550 UART.  If unsure, say N.

config SERIAL_KS8695
	bool "Micrel KS8695 (Centaur) serial port support"
	depends on ARCH_KS8695
	select SERIAL_CORE
	help
	  This selects the Micrel Centaur KS8695 UART.  Say Y here.

config SERIAL_KS8695_CONSOLE
	bool "Support for console on KS8695 (Centaur) serial port"
	depends on SERIAL_KS8695=y
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you wish to use a KS8695 (Centaur) UART as the
	  system console (the system console is the device which
	  receives all kernel messages and warnings and which allows
	  logins in single user mode).

config SERIAL_CLPS711X
	tristate "CLPS711X serial port support"
	depends on ARM && ARCH_CLPS711X
	select SERIAL_CORE
	help
	  ::: To be written :::

config SERIAL_CLPS711X_CONSOLE
	bool "Support for console on CLPS711X serial port"
	depends on SERIAL_CLPS711X=y
	select SERIAL_CORE_CONSOLE
	help
	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyCL1". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_SAMSUNG
	tristate "Samsung SoC serial support"
	depends on ARM && PLAT_SAMSUNG
	select SERIAL_CORE
	help
	  Support for the on-chip UARTs on the Samsung S3C24XX series CPUs,
	  providing /dev/ttySAC0, 1 and 2 (note, some machines may not
	  provide all of these ports, depending on how the serial port
	  pins are configured.

config SERIAL_SAMSUNG_UARTS_4
	bool
	depends on ARM && PLAT_SAMSUNG
	default y if !(CPU_S3C2410 || SERIAL_S3C2412 || CPU_S3C2440 || CPU_S3C2442)
	help
	  Internal node for the common case of 4 Samsung compatible UARTs

config SERIAL_SAMSUNG_UARTS
	int
	depends on ARM && PLAT_SAMSUNG
	default 6 if CPU_S5P6450
	default 4 if SERIAL_SAMSUNG_UARTS_4 || CPU_S3C2416
	default 3
	help
	  Select the number of available UART ports for the Samsung S3C
	  serial driver
	
config SERIAL_SAMSUNG_DEBUG
	bool "Samsung SoC serial debug"
	depends on SERIAL_SAMSUNG && DEBUG_LL
	help
	  Add support for debugging the serial driver. Since this is
	  generally being used as a console, we use our own output
	  routines that go via the low-level debug printascii()
	  function.

config SERIAL_SAMSUNG_CONSOLE
	bool "Support for console on Samsung SoC serial port"
	depends on SERIAL_SAMSUNG=y
	select SERIAL_CORE_CONSOLE
	help
	  Allow selection of the S3C24XX on-board serial ports for use as
	  an virtual console.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySACx". (Try "man bootparam" or see the documentation of
	  your boot loader about how to pass options to the kernel at
	  boot time.)

config SERIAL_SIRFSOC
        tristate "SiRF SoC Platform Serial port support"
        depends on ARM && ARCH_PRIMA2
        select SERIAL_CORE
        help
          Support for the on-chip UART on the CSR SiRFprimaII series,
          providing /dev/ttySiRF0, 1 and 2 (note, some machines may not
          provide all of these ports, depending on how the serial port
          pins are configured).

config SERIAL_SIRFSOC_CONSOLE
        bool "Support for console on SiRF SoC serial port"
        depends on SERIAL_SIRFSOC=y
        select SERIAL_CORE_CONSOLE
        help
          Even if you say Y here, the currently visible virtual console
          (/dev/tty0) will still be used as the system console by default, but
          you can alter that using a kernel command line option such as
          "console=ttySiRFx". (Try "man bootparam" or see the documentation of
          your boot loader about how to pass options to the kernel at
          boot time.)

config SERIAL_MAX3100
	tristate "MAX3100 support"
	depends on SPI
	select SERIAL_CORE
	help
	  MAX3100 chip support

config SERIAL_MAX3107
	tristate "MAX3107 support"
	depends on SPI
	select SERIAL_CORE
	help
	  MAX3107 chip support

config SERIAL_DZ
	bool "DECstation DZ serial driver"
	depends on MACH_DECSTATION && 32BIT
	select SERIAL_CORE
	default y
	---help---
	  DZ11-family serial controllers for DECstations and VAXstations,
	  including the DC7085, M7814, and M7819.

config SERIAL_DZ_CONSOLE
	bool "Support console on DECstation DZ serial driver"
	depends on SERIAL_DZ=y
	select SERIAL_CORE_CONSOLE
	default y
	---help---
	  If you say Y here, it will be possible to use a serial port as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
	  mode).

	  Note that the firmware uses ttyS3 as the serial console on
	  DECstations that use this driver.

	  If unsure, say Y.

config SERIAL_ZS
	tristate "DECstation Z85C30 serial support"
	depends on MACH_DECSTATION
	select SERIAL_CORE
	default y
	---help---
	  Support for the Zilog 85C350 serial communications controller used
	  for serial ports in newer DECstation systems.  These include the
	  DECsystem 5900 and all models of the DECstation and DECsystem 5000
	  systems except from model 200.

	  If unsure, say Y.  To compile this driver as a module, choose M here:
	  the module will be called zs.

config SERIAL_ZS_CONSOLE
	bool "Support for console on a DECstation Z85C30 serial port"
	depends on SERIAL_ZS=y
	select SERIAL_CORE_CONSOLE
	default y
	---help---
	  If you say Y here, it will be possible to use a serial port as the
	  system console (the system console is the device which receives all
	  kernel messages and warnings and which allows logins in single user
	  mode).

	  Note that the firmware uses ttyS1 as the serial console on the
	  Maxine and ttyS3 on the others using this driver.

	  If unsure, say Y.

config SERIAL_21285
	tristate "DC21285 serial port support"
	depends on ARM && FOOTBRIDGE
	select SERIAL_CORE
	help
	  If you have a machine based on a 21285 (Footbridge) StrongARM(R)/
	  PCI bridge you can enable its onboard serial port by enabling this
	  option.

config SERIAL_21285_CONSOLE
	bool "Console on DC21285 serial port"
	depends on SERIAL_21285=y
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the 21285 footbridge you can
	  make it the console by answering Y to this option.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyFB". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_MPSC
	bool "Marvell MPSC serial port support"
	depends on PPC32 && MV64X60
	select SERIAL_CORE
	help
	  Say Y here if you want to use the Marvell MPSC serial controller.

config SERIAL_MPSC_CONSOLE
	bool "Support for console on Marvell MPSC serial port"
	depends on SERIAL_MPSC
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you want to support a serial console on a Marvell MPSC.

config SERIAL_PXA
	bool "PXA serial port support"
	depends on ARCH_PXA || ARCH_MMP
	select SERIAL_CORE
	help
	  If you have a machine based on an Intel XScale PXA2xx CPU you
	  can enable its onboard serial ports by enabling this option.

config SERIAL_PXA_CONSOLE
	bool "Console on PXA serial port"
	depends on SERIAL_PXA
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the Intel XScale PXA
	  CPU you can make it the console by answering Y to this option.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySA0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_SA1100
	bool "SA1100 serial port support"
	depends on ARM && ARCH_SA1100
	select SERIAL_CORE
	help
	  If you have a machine based on a SA1100/SA1110 StrongARM(R) CPU you
	  can enable its onboard serial port by enabling this option.
	  Please read <file:Documentation/arm/SA1100/serial_UART> for further
	  info.

config SERIAL_SA1100_CONSOLE
	bool "Console on SA1100 serial port"
	depends on SERIAL_SA1100
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the SA1100/SA1110 StrongARM
	  CPU you can make it the console by answering Y to this option.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySA0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_MRST_MAX3110
	tristate "SPI UART driver for Max3110"
	depends on SPI_DW_PCI
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	help
	  This is the UART protocol driver for the MAX3110 device on
	  the Intel Moorestown platform. On other systems use the max3100
	  driver.

config SERIAL_MFD_HSU
	tristate "Medfield High Speed UART support"
	depends on PCI
	select SERIAL_CORE

config SERIAL_MFD_HSU_CONSOLE
	boolean "Medfile HSU serial console support"
	depends on SERIAL_MFD_HSU=y
	select SERIAL_CORE_CONSOLE

config SERIAL_BFIN
	tristate "Blackfin serial port support"
	depends on BLACKFIN
	select SERIAL_CORE
	select SERIAL_BFIN_UART0 if (BF531 || BF532 || BF533 || BF561)
	help
	  Add support for the built-in UARTs on the Blackfin.

	  To compile this driver as a module, choose M here: the
	  module is named bfin_uart.ko.

config SERIAL_BFIN_CONSOLE
	bool "Console on Blackfin serial port"
	depends on SERIAL_BFIN=y
	select SERIAL_CORE_CONSOLE

choice
	prompt "UART Mode"
	depends on SERIAL_BFIN
	default SERIAL_BFIN_DMA
	help
	  This driver supports the built-in serial ports of the Blackfin family
	  of CPUs

config SERIAL_BFIN_DMA
	bool "DMA mode"
	depends on !DMA_UNCACHED_NONE && KGDB_SERIAL_CONSOLE=n
	help
	  This driver works under DMA mode. If this option is selected, the
	  blackfin simple dma driver is also enabled.

config SERIAL_BFIN_PIO
	bool "PIO mode"
	help
	  This driver works under PIO mode.

endchoice

config SERIAL_BFIN_UART0
	bool "Enable UART0"
	depends on SERIAL_BFIN
	help
	  Enable UART0

config BFIN_UART0_CTSRTS
	bool "Enable UART0 hardware flow control"
	depends on SERIAL_BFIN_UART0
	help
	  Enable hardware flow control in the driver.

config SERIAL_BFIN_UART1
	bool "Enable UART1"
	depends on SERIAL_BFIN && (!BF531 && !BF532 && !BF533 && !BF561)
	help
	  Enable UART1

config BFIN_UART1_CTSRTS
	bool "Enable UART1 hardware flow control"
	depends on SERIAL_BFIN_UART1
	help
	  Enable hardware flow control in the driver.

config SERIAL_BFIN_UART2
	bool "Enable UART2"
	depends on SERIAL_BFIN && (BF54x || BF538 || BF539)
	help
	  Enable UART2

config BFIN_UART2_CTSRTS
	bool "Enable UART2 hardware flow control"
	depends on SERIAL_BFIN_UART2
	help
	  Enable hardware flow control in the driver.

config SERIAL_BFIN_UART3
	bool "Enable UART3"
	depends on SERIAL_BFIN && (BF54x)
	help
	  Enable UART3

config BFIN_UART3_CTSRTS
	bool "Enable UART3 hardware flow control"
	depends on SERIAL_BFIN_UART3
	help
	  Enable hardware flow control in the driver.

config SERIAL_IMX
	bool "IMX serial port support"
	depends on ARCH_MXC
	select SERIAL_CORE
	select RATIONAL
	help
	  If you have a machine based on a Motorola IMX CPU you
	  can enable its onboard serial port by enabling this option.

config SERIAL_IMX_CONSOLE
	bool "Console on IMX serial port"
	depends on SERIAL_IMX
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the Motorola IMX
	  CPU you can make it the console by answering Y to this option.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttySA0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_UARTLITE
	tristate "Xilinx uartlite serial port support"
	depends on PPC32 || MICROBLAZE || MFD_TIMBERDALE
	select SERIAL_CORE
	help
	  Say Y here if you want to use the Xilinx uartlite serial controller.

	  To compile this driver as a module, choose M here: the
	  module will be called uartlite.

config SERIAL_UARTLITE_CONSOLE
	bool "Support for console on Xilinx uartlite serial port"
	depends on SERIAL_UARTLITE=y
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you wish to use a Xilinx uartlite as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

config SERIAL_SUNCORE
	bool
	depends on SPARC
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	default y

config SERIAL_SUNZILOG
	tristate "Sun Zilog8530 serial support"
	depends on SPARC
	help
	  This driver supports the Zilog8530 serial ports found on many Sparc
	  systems.  Say Y or M if you want to be able to these serial ports.

config SERIAL_SUNZILOG_CONSOLE
	bool "Console on Sun Zilog8530 serial port"
	depends on SERIAL_SUNZILOG=y
	help
	  If you would like to be able to use the Zilog8530 serial port
	  on your Sparc system as the console, you can do so by answering
	  Y to this option.

config SERIAL_SUNSU
	tristate "Sun SU serial support"
	depends on SPARC && PCI
	help
	  This driver supports the 8250 serial ports that run the keyboard and
	  mouse on (PCI) UltraSPARC systems.  Say Y or M if you want to be able
	  to these serial ports.

config SERIAL_SUNSU_CONSOLE
	bool "Console on Sun SU serial port"
	depends on SERIAL_SUNSU=y
	help
	  If you would like to be able to use the SU serial port
	  on your Sparc system as the console, you can do so by answering
	  Y to this option.

config SERIAL_MUX
	tristate "Serial MUX support"
	depends on GSC
	select SERIAL_CORE
	default y
	---help---
	  Saying Y here will enable the hardware MUX serial driver for
	  the Nova, K class systems and D class with a 'remote control card'.
	  The hardware MUX is not 8250/16550 compatible therefore the
	  /dev/ttyB0 device is shared between the Serial MUX and the PDC
	  software console. The following steps need to be completed to use
	  the Serial MUX:

	    1. create the device entry (mknod /dev/ttyB0 c 11 0)
	    2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
	    3. Add device ttyB0 to /etc/securetty (if you want to log on as
		 root on this console.)
	    4. Change the kernel command console parameter to: console=ttyB0

config SERIAL_MUX_CONSOLE
	bool "Support for console on serial MUX"
	depends on SERIAL_MUX=y
	select SERIAL_CORE_CONSOLE
	default y

config PDC_CONSOLE
	bool "PDC software console support"
	depends on PARISC && !SERIAL_MUX && VT
	default n
	help
	  Saying Y here will enable the software based PDC console to be 
	  used as the system console.  This is useful for machines in 
	  which the hardware based console has not been written yet.  The
	  following steps must be competed to use the PDC console:

	    1. create the device entry (mknod /dev/ttyB0 c 11 0)
	    2. Edit the /etc/inittab to start a getty listening on /dev/ttyB0
	    3. Add device ttyB0 to /etc/securetty (if you want to log on as
		 root on this console.)
	    4. Change the kernel command console parameter to: console=ttyB0

config SERIAL_SUNSAB
	tristate "Sun Siemens SAB82532 serial support"
	depends on SPARC && PCI
	help
	  This driver supports the Siemens SAB82532 DUSCC serial ports on newer
	  (PCI) UltraSPARC systems.  Say Y or M if you want to be able to these
	  serial ports.

config SERIAL_SUNSAB_CONSOLE
	bool "Console on Sun Siemens SAB82532 serial port"
	depends on SERIAL_SUNSAB=y
	help
	  If you would like to be able to use the SAB82532 serial port
	  on your Sparc system as the console, you can do so by answering
	  Y to this option.

config SERIAL_SUNHV
	bool "Sun4v Hypervisor Console support"
	depends on SPARC64
	help
	  This driver supports the console device found on SUN4V Sparc
	  systems.  Say Y if you want to be able to use this device.

config SERIAL_IP22_ZILOG
	tristate "SGI Zilog8530 serial support"
	depends on SGI_HAS_ZILOG
	select SERIAL_CORE
	help
	  This driver supports the Zilog8530 serial ports found on SGI
	  systems.  Say Y or M if you want to be able to these serial ports.

config SERIAL_IP22_ZILOG_CONSOLE
	bool "Console on SGI Zilog8530 serial port"
	depends on SERIAL_IP22_ZILOG=y
	select SERIAL_CORE_CONSOLE

config SERIAL_SH_SCI
	tristate "SuperH SCI(F) serial port support"
	depends on HAVE_CLK && (SUPERH || ARCH_SHMOBILE)
	select SERIAL_CORE

config SERIAL_SH_SCI_NR_UARTS
	int "Maximum number of SCI(F) serial ports"
	depends on SERIAL_SH_SCI
	default "2"

config SERIAL_SH_SCI_CONSOLE
	bool "Support for console on SuperH SCI(F)"
	depends on SERIAL_SH_SCI=y
	select SERIAL_CORE_CONSOLE

config SERIAL_SH_SCI_DMA
	bool "DMA support"
	depends on SERIAL_SH_SCI && SH_DMAE && EXPERIMENTAL

config SERIAL_PNX8XXX
	bool "Enable PNX8XXX SoCs' UART Support"
	depends on MIPS && (SOC_PNX8550 || SOC_PNX833X)
	select SERIAL_CORE
	help
	  If you have a MIPS-based Philips SoC such as PNX8550 or PNX8330
	  and you want to use serial ports, say Y.  Otherwise, say N.

config SERIAL_PNX8XXX_CONSOLE
	bool "Enable PNX8XX0 serial console"
	depends on SERIAL_PNX8XXX
	select SERIAL_CORE_CONSOLE
	help
	  If you have a MIPS-based Philips SoC such as PNX8550 or PNX8330
	  and you want to use serial console, say Y. Otherwise, say N.

config SERIAL_CORE
	tristate

config SERIAL_CORE_CONSOLE
	bool

config CONSOLE_POLL
	bool

config SERIAL_68328
	bool "68328 serial support"
	depends on M68328 || M68EZ328 || M68VZ328
	help
	  This driver supports the built-in serial port of the Motorola 68328
	  (standard, EZ and VZ varieties).

config SERIAL_68328_RTS_CTS
	bool "Support RTS/CTS on 68328 serial port"
	depends on SERIAL_68328

config SERIAL_MCF
	bool "Coldfire serial support"
	depends on COLDFIRE
	select SERIAL_CORE
	help
	  This serial driver supports the Freescale Coldfire serial ports.

config SERIAL_MCF_BAUDRATE
	int "Default baudrate for Coldfire serial ports"
	depends on SERIAL_MCF
	default 19200
	help
	  This setting lets you define what the default baudrate is for the
	  ColdFire serial ports. The usual default varies from board to board,
	  and this setting is a way of catering for that.

config SERIAL_MCF_CONSOLE
	bool "Coldfire serial console support"
	depends on SERIAL_MCF
	select SERIAL_CORE_CONSOLE
	help
	  Enable a ColdFire internal serial port to be the system console.

config SERIAL_PMACZILOG
	tristate "Mac or PowerMac z85c30 ESCC support"
	depends on (M68K && MAC) || (PPC_OF && PPC_PMAC)
	select SERIAL_CORE
	help
	  This driver supports the Zilog z85C30 serial ports found on
	  (Power)Mac machines.
	  Say Y or M if you want to be able to these serial ports.

config SERIAL_PMACZILOG_TTYS
	bool "Use ttySn device nodes for Zilog z85c30"
	depends on SERIAL_PMACZILOG
	help
	  The pmac_zilog driver for the z85C30 chip on many powermacs
	  historically used the device numbers for /dev/ttySn.  The
	  8250 serial port driver also uses these numbers, which means
	  the two drivers being unable to coexist; you could not use
	  both z85C30 and 8250 type ports at the same time.

	  If this option is not selected, the pmac_zilog driver will
	  use the device numbers allocated for /dev/ttyPZn.  This allows
	  the pmac_zilog and 8250 drivers to co-exist, but may cause
	  existing userspace setups to break.  Programs that need to
	  access the built-in serial ports on powermacs will need to
	  be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.

	  If you enable this option, any z85c30 ports in the system will
	  be registered as ttyS0 onwards as in the past, and you will be
	  unable to use the 8250 module for PCMCIA or other 16C550-style
	  UARTs.

	  Say N unless you need the z85c30 ports on your (Power)Mac
	  to appear as /dev/ttySn.

config SERIAL_PMACZILOG_CONSOLE
	bool "Console on Mac or PowerMac z85c30 serial port"
	depends on SERIAL_PMACZILOG=y
	select SERIAL_CORE_CONSOLE
	help
	  If you would like to be able to use the z85c30 serial port
	  on your (Power)Mac as the console, you can do so by answering
	  Y to this option.

config SERIAL_CPM
	tristate "CPM SCC/SMC serial port support"
	depends on CPM2 || 8xx
	select SERIAL_CORE
	help
	  This driver supports the SCC and SMC serial ports on Motorola 
	  embedded PowerPC that contain a CPM1 (8xx) or CPM2 (8xxx)

config SERIAL_CPM_CONSOLE
	bool "Support for console on CPM SCC/SMC serial port"
	depends on SERIAL_CPM=y
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you wish to use a SCC or SMC CPM UART as the system
	  console (the system console is the device which receives all kernel
	  messages and warnings and which allows logins in single user mode).

	  Even if you say Y here, the currently visible framebuffer console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyCPM0". (Try "man bootparam" or see the documentation of
	  your boot loader (lilo or loadlin) about how to pass options to the
	  kernel at boot time.)

config SERIAL_SGI_L1_CONSOLE
	bool "SGI Altix L1 serial console support"
	depends on IA64_GENERIC || IA64_SGI_SN2
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	help
		If you have an SGI Altix and you would like to use the system
		controller serial port as your console (you want this!),
		say Y.  Otherwise, say N.

config SERIAL_MPC52xx
	tristate "Freescale MPC52xx/MPC512x family PSC serial support"
	depends on PPC_MPC52xx || PPC_MPC512x
	select SERIAL_CORE
	help
	  This driver supports MPC52xx and MPC512x PSC serial ports. If you would
	  like to use them, you must answer Y or M to this option. Note that
	  for use as console, it must be included in kernel and not as a
	  module.

config SERIAL_MPC52xx_CONSOLE
	bool "Console on a Freescale MPC52xx/MPC512x family PSC serial port"
	depends on SERIAL_MPC52xx=y
	select SERIAL_CORE_CONSOLE
	help
	  Select this options if you'd like to use one of the PSC serial port
	  of the Freescale MPC52xx family as a console.

config SERIAL_MPC52xx_CONSOLE_BAUD
	int "Freescale MPC52xx/MPC512x family PSC serial port baud"
	depends on SERIAL_MPC52xx_CONSOLE=y
	default "9600"
	help
	  Select the MPC52xx console baud rate.
	  This value is only used if the bootloader doesn't pass in the
	  console baudrate

config SERIAL_ICOM
	tristate "IBM Multiport Serial Adapter"
	depends on PCI && PPC_PSERIES
	select SERIAL_CORE
	select FW_LOADER
	help
	  This driver is for a family of multiport serial adapters
	  including 2 port RVX, 2 port internal modem, 4 port internal
	  modem and a split 1 port RVX and 1 port internal modem.

	  This driver can also be built as a module.  If so, the module
	  will be called icom.

config SERIAL_M32R_SIO
	bool "M32R SIO I/F"
	depends on M32R
	default y
	select SERIAL_CORE
	help
	  Say Y here if you want to use the M32R serial controller.

config SERIAL_M32R_SIO_CONSOLE
	bool "use SIO console"
	depends on SERIAL_M32R_SIO=y
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you want to support a serial console.

	  If you use an M3T-M32700UT or an OPSPUT platform,
	  please say also y for SERIAL_M32R_PLDSIO.

config SERIAL_M32R_PLDSIO
	bool "M32R SIO I/F on a PLD"
	depends on SERIAL_M32R_SIO=y && (PLAT_OPSPUT || PLAT_USRV || PLAT_M32700UT)
	default n
	help
	  Say Y here if you want to use the M32R serial controller
	  on a PLD (Programmable Logic Device).

	  If you use an M3T-M32700UT or an OPSPUT platform,
	  please say Y.

config SERIAL_TXX9
	bool "TMPTX39XX/49XX SIO support"
	depends on HAS_TXX9_SERIAL
	select SERIAL_CORE
	default y

config HAS_TXX9_SERIAL
	bool

config SERIAL_TXX9_NR_UARTS
	int "Maximum number of TMPTX39XX/49XX SIO ports"
	depends on SERIAL_TXX9
	default "6"

config SERIAL_TXX9_CONSOLE
	bool "TMPTX39XX/49XX SIO Console support"
	depends on SERIAL_TXX9=y
	select SERIAL_CORE_CONSOLE

config SERIAL_TXX9_STDSERIAL
	bool "TX39XX/49XX SIO act as standard serial"
	depends on !SERIAL_8250 && SERIAL_TXX9

config SERIAL_VR41XX
	tristate "NEC VR4100 series Serial Interface Unit support"
	depends on CPU_VR41XX
	select SERIAL_CORE
	help
	  If you have a NEC VR4100 series processor and you want to use
	  Serial Interface Unit(SIU) or Debug Serial Interface Unit(DSIU)
	  (not include VR4111/VR4121 DSIU), say Y.  Otherwise, say N.

config SERIAL_VR41XX_CONSOLE
	bool "Enable NEC VR4100 series Serial Interface Unit console"
	depends on SERIAL_VR41XX=y
	select SERIAL_CORE_CONSOLE
	help
	  If you have a NEC VR4100 series processor and you want to use
	  a console on a serial port, say Y.  Otherwise, say N.

config SERIAL_JSM
	tristate "Digi International NEO PCI Support"
	depends on PCI
	select SERIAL_CORE
	help
	  This is a driver for Digi International's Neo series
	  of cards which provide multiple serial ports. You would need
	  something like this to connect more than two modems to your Linux
	  box, for instance in order to become a dial-in server. This driver
	  supports PCI boards only.

	  If you have a card like this, say Y here, otherwise say N.

	  To compile this driver as a module, choose M here: the
	  module will be called jsm.

config SERIAL_SGI_IOC4
	tristate "SGI IOC4 controller serial support"
	depends on (IA64_GENERIC || IA64_SGI_SN2) && SGI_IOC4
	select SERIAL_CORE
	help
		If you have an SGI Altix with an IOC4 based Base IO card
		and wish to use the serial ports on this card, say Y.
		Otherwise, say N.

config SERIAL_SGI_IOC3
	tristate "SGI Altix IOC3 serial support"
	depends on (IA64_GENERIC || IA64_SGI_SN2) && SGI_IOC3
	select SERIAL_CORE
	help
	  If you have an SGI Altix with an IOC3 serial card,
	  say Y or M.  Otherwise, say N.

config SERIAL_MSM
	bool "MSM on-chip serial port support"
	depends on ARM && ARCH_MSM
	select SERIAL_CORE

config SERIAL_MSM_CONSOLE
	bool "MSM serial console support"
	depends on SERIAL_MSM=y
	select SERIAL_CORE_CONSOLE

config SERIAL_MSM_HS
	tristate "MSM UART High Speed: Serial Driver"
	depends on ARCH_MSM
	select SERIAL_CORE
	help
	  If you have a machine based on MSM family of SoCs, you
	  can enable its onboard high speed serial port by enabling
	  this option.

	  Choose M here to compile it as a module. The module will be
	  called msm_serial_hs.

config SERIAL_MSM_RX_WAKEUP
	bool "Wakeup the msm uart clock on GPIO activity."
	depends on SERIAL_MSM_CLOCK_CONTROL
	default n
	help
	 Requires SERIAL_MSM_CLOCK_CONTROL. Wake up the uart while the uart
	 clock is off, using a wakeup GPIO.

config SERIAL_MSM_HSL
	tristate "MSM UART High Speed : Legacy mode Serial Driver"
	depends on ARM && ARCH_MSM
	select SERIAL_CORE
	default n
	help
	  Select this module to enable MSM high speed UART driver.

config SERIAL_MSM_HSL_CONSOLE
	bool "MSM High speed serial legacy mode console support"
	depends on SERIAL_MSM_HSL=y
	select SERIAL_CORE_CONSOLE
	default n

config SERIAL_BCM_BT_LPM
	tristate "Broadcom Bluetooth Low Power Mode"
	depends on ARM && ARCH_MSM
	select SERIAL_CORE
	default n
	help
	  Select this module for Broadcom Bluetooth low power management.

config SERIAL_VT8500
	bool "VIA VT8500 on-chip serial port support"
	depends on ARM && ARCH_VT8500
	select SERIAL_CORE

config SERIAL_VT8500_CONSOLE
	bool "VIA VT8500 serial console support"
	depends on SERIAL_VT8500=y
	select SERIAL_CORE_CONSOLE

config SERIAL_NETX
	tristate "NetX serial port support"
	depends on ARM && ARCH_NETX
	select SERIAL_CORE
	help
	  If you have a machine based on a Hilscher NetX SoC you
	  can enable its onboard serial port by enabling this option.

          To compile this driver as a module, choose M here: the
          module will be called netx-serial.

config SERIAL_NETX_CONSOLE
	bool "Console on NetX serial port"
	depends on SERIAL_NETX=y
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the Hilscher NetX SoC
	  you can make it the console by answering Y to this option.

config SERIAL_OF_PLATFORM
	tristate "Serial port on Open Firmware platform bus"
	depends on OF
	depends on SERIAL_8250 || SERIAL_OF_PLATFORM_NWPSERIAL
	help
	  If you have a PowerPC based system that has serial ports
	  on a platform specific bus, you should enable this option.
	  Currently, only 8250 compatible ports are supported, but
	  others can easily be added.

config SERIAL_OMAP
	tristate "OMAP serial port support"
	depends on ARCH_OMAP2PLUS
	select SERIAL_CORE
	help
	  If you have a machine based on an Texas Instruments OMAP CPU you
	  can enable its onboard serial ports by enabling this option.

	  By enabling this option you take advantage of dma feature available
	  with the omap-serial driver. DMA support can be enabled from platform
	  data.

config SERIAL_OMAP_CONSOLE
	bool "Console on OMAP serial port"
	depends on SERIAL_OMAP=y
	select SERIAL_CORE_CONSOLE
	help
	  Select this option if you would like to use omap serial port as
	  console.

	  Even if you say Y here, the currently visible virtual console
	  (/dev/tty0) will still be used as the system console by default, but
	  you can alter that using a kernel command line option such as
	  "console=ttyOx". (Try "man bootparam" or see the documentation of
	  your boot loader about how to pass options to the kernel at
	  boot time.)

config SERIAL_OF_PLATFORM_NWPSERIAL
	tristate "NWP serial port driver"
	depends on PPC_OF && PPC_DCR
	select SERIAL_OF_PLATFORM
	select SERIAL_CORE_CONSOLE
	select SERIAL_CORE
	help
	  This driver supports the cell network processor nwp serial
	  device.

config SERIAL_OF_PLATFORM_NWPSERIAL_CONSOLE
	bool "Console on NWP serial port"
	depends on SERIAL_OF_PLATFORM_NWPSERIAL=y
	select SERIAL_CORE_CONSOLE
	help
	  Support for Console on the NWP serial ports.

config SERIAL_LANTIQ
	bool "Lantiq serial driver"
	depends on LANTIQ
	select SERIAL_CORE
	select SERIAL_CORE_CONSOLE
	help
	  Support for console and UART on Lantiq SoCs.

config SERIAL_QE
	tristate "Freescale QUICC Engine serial port support"
	depends on QUICC_ENGINE
	select SERIAL_CORE
	select FW_LOADER
	default n
	help
	  This driver supports the QE serial ports on Freescale embedded
	  PowerPC that contain a QUICC Engine.

config SERIAL_SC26XX
	tristate "SC2681/SC2692 serial port support"
	depends on SNI_RM
	select SERIAL_CORE
	help
	  This is a driver for the onboard serial ports of
	  older RM400 machines.

config SERIAL_SC26XX_CONSOLE
	bool "Console on SC2681/SC2692 serial port"
	depends on SERIAL_SC26XX=y
	select SERIAL_CORE_CONSOLE
	help
	  Support for Console on SC2681/SC2692 serial ports.

config SERIAL_BFIN_SPORT
	tristate "Blackfin SPORT emulate UART"
	depends on BLACKFIN
	select SERIAL_CORE
	help
	  Enable SPORT emulate UART on Blackfin series.

	  To compile this driver as a module, choose M here: the
	  module will be called bfin_sport_uart.

config SERIAL_BFIN_SPORT_CONSOLE
	bool "Console on Blackfin sport emulated uart"
	depends on SERIAL_BFIN_SPORT=y
	select SERIAL_CORE_CONSOLE

config SERIAL_BFIN_SPORT0_UART
	bool "Enable UART over SPORT0"
	depends on SERIAL_BFIN_SPORT && !(BF542 || BF544)
	help
	  Enable UART over SPORT0

config SERIAL_BFIN_SPORT0_UART_CTSRTS
	bool "Enable UART over SPORT0 hardware flow control"
	depends on SERIAL_BFIN_SPORT0_UART
	help
	  Enable hardware flow control in the driver.

config SERIAL_BFIN_SPORT1_UART
	bool "Enable UART over SPORT1"
	depends on SERIAL_BFIN_SPORT
	help
	  Enable UART over SPORT1

config SERIAL_BFIN_SPORT1_UART_CTSRTS
	bool "Enable UART over SPORT1 hardware flow control"
	depends on SERIAL_BFIN_SPORT1_UART
	help
	  Enable hardware flow control in the driver.

config SERIAL_BFIN_SPORT2_UART
	bool "Enable UART over SPORT2"
	depends on SERIAL_BFIN_SPORT && (BF54x || BF538 || BF539)
	help
	  Enable UART over SPORT2

config SERIAL_BFIN_SPORT2_UART_CTSRTS
	bool "Enable UART over SPORT2 hardware flow control"
	depends on SERIAL_BFIN_SPORT2_UART
	help
	  Enable hardware flow control in the driver.

config SERIAL_BFIN_SPORT3_UART
	bool "Enable UART over SPORT3"
	depends on SERIAL_BFIN_SPORT && (BF54x || BF538 || BF539)
	help
	  Enable UART over SPORT3

config SERIAL_BFIN_SPORT3_UART_CTSRTS
	bool "Enable UART over SPORT3 hardware flow control"
	depends on SERIAL_BFIN_SPORT3_UART
	help
	  Enable hardware flow control in the driver.

config SERIAL_TIMBERDALE
	tristate "Support for timberdale UART"
	select SERIAL_CORE
	---help---
	Add support for UART controller on timberdale.

config SERIAL_BCM63XX
	tristate "bcm63xx serial port support"
	select SERIAL_CORE
	depends on BCM63XX
	help
	  If you have a bcm63xx CPU, you can enable its onboard
	  serial port by enabling this options.

          To compile this driver as a module, choose M here: the
          module will be called bcm963xx_uart.

config SERIAL_BCM63XX_CONSOLE
	bool "Console on bcm63xx serial port"
	depends on SERIAL_BCM63XX=y
	select SERIAL_CORE_CONSOLE
	help
	  If you have enabled the serial port on the bcm63xx CPU
	  you can make it the console by answering Y to this option.

config SERIAL_GRLIB_GAISLER_APBUART
	tristate "GRLIB APBUART serial support"
	depends on OF && SPARC
	select SERIAL_CORE
	---help---
	Add support for the GRLIB APBUART serial port.

config SERIAL_GRLIB_GAISLER_APBUART_CONSOLE
	bool "Console on GRLIB APBUART serial port"
	depends on SERIAL_GRLIB_GAISLER_APBUART=y
	select SERIAL_CORE_CONSOLE
	help
	Support for running a console on the GRLIB APBUART

config SERIAL_ALTERA_JTAGUART
	tristate "Altera JTAG UART support"
	select SERIAL_CORE
	help
	  This driver supports the Altera JTAG UART port.

config SERIAL_ALTERA_JTAGUART_CONSOLE
	bool "Altera JTAG UART console support"
	depends on SERIAL_ALTERA_JTAGUART=y
	select SERIAL_CORE_CONSOLE
	help
	  Enable a Altera JTAG UART port to be the system console.

config SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS
	bool "Bypass output when no connection"
	depends on SERIAL_ALTERA_JTAGUART_CONSOLE
	select SERIAL_CORE_CONSOLE
	help
	  Bypass console output and keep going even if there is no
	  JTAG terminal connection with the host.

config SERIAL_ALTERA_UART
	tristate "Altera UART support"
	select SERIAL_CORE
	help
	  This driver supports the Altera softcore UART port.

config SERIAL_ALTERA_UART_MAXPORTS
	int "Maximum number of Altera UART ports"
	depends on SERIAL_ALTERA_UART
	default 4
	help
	  This setting lets you define the maximum number of the Altera
	  UART ports. The usual default varies from board to board, and
	  this setting is a way of catering for that.

config SERIAL_ALTERA_UART_BAUDRATE
	int "Default baudrate for Altera UART ports"
	depends on SERIAL_ALTERA_UART
	default 115200
	help
	  This setting lets you define what the default baudrate is for the
	  Altera UART ports. The usual default varies from board to board,
	  and this setting is a way of catering for that.

config SERIAL_ALTERA_UART_CONSOLE
	bool "Altera UART console support"
	depends on SERIAL_ALTERA_UART=y
	select SERIAL_CORE_CONSOLE
	help
	  Enable a Altera UART port to be the system console.

config SERIAL_IFX6X60
        tristate "SPI protocol driver for Infineon 6x60 modem (EXPERIMENTAL)"
	depends on GPIOLIB && SPI && EXPERIMENTAL
	help
	  Support for the IFX6x60 modem devices on Intel MID platforms.

config SERIAL_PCH_UART
	tristate "Intel EG20T PCH/LAPIS Semicon IOH(ML7213/ML7223/ML7831) UART"
	depends on PCI
	select SERIAL_CORE
	help
	  This driver is for PCH(Platform controller Hub) UART of Intel EG20T
	  which is an IOH(Input/Output Hub) for x86 embedded processor.
	  Enabling PCH_DMA, this PCH UART works as DMA mode.

	  This driver also can be used for LAPIS Semiconductor IOH(Input/
	  Output Hub), ML7213, ML7223 and ML7831.
	  ML7213 IOH is for IVI(In-Vehicle Infotainment) use, ML7223 IOH is
	  for MP(Media Phone) use and ML7831 IOH is for general purpose use.
	  ML7213/ML7223/ML7831 is companion chip for Intel Atom E6xx series.
	  ML7213/ML7223/ML7831 is completely compatible for Intel EG20T PCH.

config SERIAL_PCH_UART_CONSOLE
	bool "Support for console on Intel EG20T PCH UART/OKI SEMICONDUCTOR ML7213 IOH"
	depends on SERIAL_PCH_UART=y
	select SERIAL_CORE_CONSOLE
	help
	  Say Y here if you wish to use the PCH UART as the system console
	  (the system  console is the device which receives all kernel messages and
	  warnings and which allows logins in single user mode).

config SERIAL_MSM_SMD
	bool "Enable tty device interface for some SMD ports"
	default n
	depends on MSM_SMD
	help
	  Enables userspace clients to read and write to some streaming SMD
	  ports via tty device interface for MSM chipset.

config SERIAL_MXS_AUART
	depends on ARCH_MXS
	tristate "MXS AUART support"
	select SERIAL_CORE
	help
	  This driver supports the MXS Application UART (AUART) port.

config SERIAL_MXS_AUART_CONSOLE
	bool "MXS AUART console support"
	depends on SERIAL_MXS_AUART=y
	select SERIAL_CORE_CONSOLE
	help
	  Enable a MXS AUART port to be the system console.

config SERIAL_XILINX_PS_UART
	tristate "Xilinx PS UART support"
	select SERIAL_CORE
	help
	  This driver supports the Xilinx PS UART port.

config SERIAL_XILINX_PS_UART_CONSOLE
	bool "Xilinx PS UART console support"
	depends on SERIAL_XILINX_PS_UART=y
	select SERIAL_CORE_CONSOLE
	help
	  Enable a Xilinx PS UART port to be the system console.

config SERIAL_AR933X
	bool "AR933X serial port support"
	depends on SOC_AR933X
	select SERIAL_CORE
	help
	  If you have an Atheros AR933X SOC based board and want to use the
	  built-in UART of the SoC, say Y to this option.

config SERIAL_AR933X_CONSOLE
	bool "Console on AR933X serial port"
	depends on SERIAL_AR933X=y
	select SERIAL_CORE_CONSOLE
	help
	  Enable a built-in UART port of the AR933X to be the system console.

config SERIAL_AR933X_NR_UARTS
	int "Maximum number of AR933X serial ports"
	depends on SERIAL_AR933X
	default "2"
	help
	  Set this to the number of serial ports you want the driver
	  to support.

config SERIAL_EFM32_UART
	tristate "EFM32 UART/USART port."
	depends on ARCH_EFM32
	select SERIAL_CORE
	help
	  This driver support the USART and UART ports on
	  Energy Micro's efm32 SoCs.

config SERIAL_EFM32_UART_CONSOLE
	bool "EFM32 UART/USART console support"
	depends on SERIAL_EFM32_UART=y
	select SERIAL_CORE_CONSOLE

endmenu
